

#include <iostream>
using namespace std;
long long n, L, U;
long long arr[10][3] = {
	{80, 10, 10}, {27, 20, 10}, {1234, 15, 55},
	{1, 1, 0}, {9876543210, 0, 2}, {1234567, 2323, 4747},
	{9876543210, 47, 0}, {9876543210, 987654322, 0}, {98765436210, 0, 9876543627},
	{37, 14, 10}
	
};
int main()
{
	for (int  i = 0; i < 10; i++)   //遍历取出数组中测试数据
	{
		n = arr[i][0];    //糖果总数
		L = arr[i][1];    //男生总数
		U = arr[i][2];    //女生总数
		
		long long rest = n;   //最小剩余数
		
		if (L + U > n) cout << -1 << endl;//总人数大于糖数打印【-1】
		
		else if (L == 0)     //男生为0
		{
			int t = n / U;
			if (t > 100000) t = 100000;
			cout << n - t * U << endl;
		}
		else if (U == 0)     //女生为0
		{
			int t = n / L;
			if (t > 100000) t = 100000;
			cout << n - t * L << endl;
		}
		else
		{
			//i:女生分配数；j:男生分配数
			for (int i = 1; i <= 100000; i++)  //遍历女生分配数，为什么？男生要比女生多，所以先分配女生，剩下的在尽量均匀分配给男生
			{
				int  j = (n - i * U) / L;      //获取男生分配数
				if (i < j) rest = min(rest,(n - i * U) % L);    //男生的分配数必须比女生多，才能比较最小剩余数  
				
			}
			if (rest == n) cout << -1 << endl;//如果出现分配完女生后无法分配给男生，就输出-1
			else cout << rest << endl;
		}
		
		
	}
	
	return 0;
}
